#ifndef OPFACTORY_H
#define OPFACTORY_H

#include <vector>
#include "UnaryOp.h"
#include "InvalidIndex.h"

class Problem;

class OpFactory {
protected:
	vector<UnaryOp>	unaryOpList;

public:
	OpFactory( Problem *problem );

	UnaryOp* getUnaryOp( int i ) throw (InvalidIndex);
	UnaryOp* getRandomUnaryOp( double *w = NULL ) throw (InvalidIndex);

};

#endif